package cn.acmenms.utils;

import java.io.File;
import java.util.HashSet;

/**
 * @ClassName: FileUtils
 * @Description: 文件工具类
 * @author: 神奇的鸭鸭
 * @Date: 2018/2/7 14:14
 */
public class FileUtils {

    private static HashSet<String> fileSet = new HashSet<>();

    /**
     * 递归遍历目录下的所有 目录 和 文件
     * @param dir 文件目录
     * @param level 层级
     */
    private static void printFiles(File dir, int level) {
        if(!dir.exists()) return;
        level++;
        File[] files = dir.listFiles();
        if (files != null) {
            for (File f : files) {
                if(f.isDirectory() && !fileSet.contains(f.getName())){
                    for (int i = 0; i < level; i++) System.out.print("   ");
                    System.out.println("|---"+f.getName());
                    printFiles(f, level);
                }else{
                    for (int i = 0; i < level; i++) System.out.print("   ");
                    System.out.println("|---"+f.getName());
                }
            }
        }
    }

    public static void main(String[] args) {
        fileSet.add("css");
        fileSet.add("images");
        fileSet.add("js");
        fileSet.add("META-INF");
        fileSet.add("lib");
        fileSet.add("classes");
        fileSet.add(".git");
        fileSet.add(".project");
        fileSet.add(".settings");
        fileSet.add(".idea");
        fileSet.add(".out");
        fileSet.add("logsacmenms");
        printFiles(new File("E:\\MyCode\\oscGit\\AcmenMS"), 0);
    }
}